﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ParsingBot
{
	public partial class Form1 : Form
	{
		Timer Clock;
		
		public Form1()
		{
			InitializeComponent();
		}
		
		public void Auto()
		{
			
			Clock = new Timer();
			Clock.Interval = 10000;
			Clock.Tick += new EventHandler(ParseStart);
			
		}
		
		public void ParseStart(object sender, EventArgs e)
		{
			if( sender != Clock )
				return;
		}

		private void RunNaver_Click(object sender, EventArgs e)
		{
			Naver.Naver_Manager nManager = new Naver.Naver_Manager();
			Naver.CartoonInfo nCartoonInfo;
			List<Naver.EpisodeInfo> nlEpisodeInfo;
			Naver.Episode nEpisode;
			int page = 0;
			bool page_flag = true;	//에피소드 파싱 시 페이지 때문에
			
			List<Naver.CartoonSimple> nlCartoonSimple = nManager.GetCartoonSimpleList();	//모든 만화 목록 가져오기
			foreach (Naver.CartoonSimple cs in nlCartoonSimple)	//각가의 만화에 대하여
			{
				if(!cs.CheckSavedCartoon())	//등록된 만화가 아닐 경우
				{
					nCartoonInfo = nManager.GetCartoonInfo(cs.titleId);	//만화의 정보 가져오기
					nCartoonInfo.InsertCartoonInfo();	//만화 등록
				}
				
				while (page_flag)
				{
					nlEpisodeInfo = nManager.GetEpisodeList(cs.titleId, page++);	//해당 페이지의 에피소드 가져오기
					foreach (Naver.EpisodeInfo ei in nlEpisodeInfo)	//각각의 에피소드에 대하여
					{
						if (ei.CheckSavedEpisode())	//등록되지 않은 만화를 다 등록했으면
						{
							page_flag = false;
							break;
						}
						nEpisode = nManager.GetEpisode(cs.titleId, ei.No);	//만화 정보 가져오기
						nEpisode.InsertEpisode();	//만화 정보 저장
					}
				}
				
			}
		}
	}
}
